package org.calzz.rpc.get;

import javax.servlet.http.HttpServletRequest;

import org.calzz.rpc.envelope.JsonRequest;

/**
 * Interface which allows user to configure final form of
 * supported HTTP GET request/requests, by delivering its
 * implementation and configuring <code>JsonServiceExporter</code>
 * to use it.
 * 
 * @author Marek Brodziak <marek.brodziak@gmail.com>
 * @author Piotr Pejas <piotr.pejas@gmail.com>
 * @since Mar 8, 2008
 */
public interface IUrlMappingStrategy {

	/**
	 * Translates the original HTTP GET request to the request
	 * supported by <code>JsonServiceExporter</code>
	 * @param httpRequest original HTTP GET request
	 * @return jsonRequest translated JSON request
	 */
	JsonRequest doMapping(HttpServletRequest httpRequest);

}
